package thread;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * Thread提供了一个静态方法:
 * static void sleep(long ms)
 * 可以使执行这个方法的线程进入阻塞状态指定毫秒,超时后线程会自动回到RUNNABLE状态再次并发执行
 */
public class SleepDemo {
    public static void main(String[] args) throws IOException {
        System.out.println("程序开始了");
         /*
            实现建议的倒计时程序
            程序启动后在控制台上输入一个数字,然后从该数字开始每秒递减.到0时输出"时间到",然后程序结束
         */
        System.out.println("请输入要倒计时的数");
        //Scanner scan = new Scanner(System.in);
        BufferedReader br = new BufferedReader(
                new InputStreamReader(
                        System.in//低级流，从控制台输入数据
                )
        );
        String line = br.readLine();//读取一行字符串
        int num = Integer.parseInt(line);//将字符串转换为整数
        for (; num > 0;num --) {
            System.out.println("倒计时:" + num);
            try {
                Thread.sleep(1000);//主线程执行时会阻塞5秒
            } catch (InterruptedException e) {
                    e.printStackTrace();
            }
        }
        System.out.println("时间到");
        System.out.println("程序结束了");
    }
}
